perm filename PAPERA.10[DOC,TOB] blob
sn#027214 filedate 1973-02-26 generic text, type T, neo UTF8
COMPUTER VISION
by
Thomas O. Binford, Stanford University
and
Jay M. Tenenbaum, Stanford Research Institute
Introduction.
Intelligent computers require knowledge of their environment, and the
most effective means of acquiring such knowledge is by seeing. Vision
opens a new realm of computer applications. Weather analysis from
cloud maps and medical diagnosis from x-rays and blood cell counts
are two of many high volume data processing tasks that require
pictorial input. Man-machine communication will be facilitated if a
person can directly show the computer a real object, rather than
having to describe it symbolically. Designers, for example, could
then easily obtain a computerized structural analysis of scale
models.
A particularly exciting area of application is industrial automation.
Today in industry there are hundreds of machines called industrial
robots. These programmable manipulators can repetitively execute a
precise sequence of motions but have no sensors and are thus unable
to react dynamically to contingencies. Simple sensors and a
minicomputer could, at slight additional cost, turn these
manipulators into true robots. With primitive visual skills,machines
could align mating parts in assembly operations, increase reliability
by self-calibration, detect flaws and avoid disasters. Vision will
also minimize the present need for precise positioning of parts at
each work station; parts could instead be transported in a bin and
picked out as needed.
The study of perception also provides valuable insights into human
and machine information processing. Many of the problems encountered
are widespread in intelligence: How is knowledge represented? How
does it guide in drawing conclusions from perceptual data? How does
existing knowledge interact with conclusions drawn from an image to
acheive learning? Issues that arise in the implementation of vision
systems have broad relevance to computer science: How shoulc a
complex task be partitioned into modules? How should the modules
communicate to share their knowledge and special capabilities? How
should systems with highly interdependent modules be structured to
facilitate modification?
Techniques developed for machine perception cannot be taken literally
as models for biological systems because of differences in hardware
and gaps in our knowledge. However, fundamental limitations are
shared, suggesting that some of the principles might also be found in
nature. The research may, in turn, occasionally borrow from biology,
but we cannot copy nature, since again, the details are not yet known
and the hardware is different.
Historically, computer vision emerged from the study of two
dimensional pattern recognition. However, it is seldom possible to
apply the mathematical formalisms developed for classification to the
analysis of real scenes. Consider the visual requirements for an
organism such as a robot. It must manipulate or avoid objects, not
just classify them. Manipulation requires three-dimensional
interpretations and spatial relations of objects. In problems like
character recognition, it was attractive to simply save images or
feature vectors, then match against an image or part of an image. But
in real scenes, objects occlude one another, they have parts with
joints that move separately, there are many viewpoints, many possible
objects, and many combinations of objects. Object classes, moreover,
are often defined by function, not shape (eg. the class of coffee
cups). Direct template matching techniques are impractical for
these requirements, except in very carefully controlled applications.
Perception involves complex deductions to understand an image in
terms of a priori knowledge of the world.
ELEMENTS OF A VISUAL SYSTEM
The computer eye is some form of tv camera with color filters and a
turret or zoom lens for closeup views. The computer controls
filters, lens and other parameters to optimize the image for each
task [Tenenbaum 1970]. A recent study has suggested alternative
sensors to overcome the inadequate dynamic range of television
systems [Binford 1972]. Range information greatly simplifies the
interpretation of scenes. Humans use depth information obtained from
stereo and a variety of inferred cues such as motion parallax and the
size of known objects. Since these techniques require subtantial
processing, it is easier for machines to obtain depth by direct
measurement. Several depth sensors based on triangulation have been
built [Agin 1972, Shirai 1972a].
An image is read into memory as an array of brightness values
(typically 300x300) with 4-8 bits for each sample for each color. The
process of interpreting this mass of numbers into a symbolic
description can be thought of as subdivided into segmentation,
representation, and interpretation.
The process of segmentation partitions a scene into meaningful
entities which may be recognizable. Segmentation in character
recognition is simple since printed characters are spatially
separated and have high contrast with white paper. It is harder to
segment objects in a real scene (even simple scenes) since objects
may overlap and will not usually be separable from the local
background by a single attribute like brightness contrast. Instead,
segmentation must proceed by seeking regions of uniform brightness,
color, or texture (itself a complex descriptor), or regions with
regular boundaries. Segmentation may also depend on inferred depth
cues (e.g., texture gradients or suspected occlusion).
In what form can we represent objects internally in the computer? The
simplest form is a pictorial template, an array of brightness values
to be matched directly against fragments of scenes by correlation.
Given the inadequacies of this representation, we must describe
partitioned regions symbolically in terms of extracted features like
color, size, texture, and shape. All these properties are inferred
by complex processes from the image. Simple descriptors for shape or
texture may be used in simple tasks and limited context. Shape might
be described by the ratio of the squared perimeter to the area of a
region. More sophisticated shape representations, needed for a wider
range of tasks, are described later.
Interpretation is often expressed as computing a distance measure
between an object and a stored model. For simple cases that can be
useful. When objects are occluded, there must be a partial match.
When objects are not identical, judgments of similarity depend on
representation of shape and representation of the task, in order to
define important differences. The most useful approach is to build
up symbolic descriptions and make symbolic descriptions of
differences. Sometimes, there are few enough models that matching
with each model is possible. More generally, the observed features
must first be used to retrieve likely models from a large visual
memory.
The integration of segmentation, representation and interpretation to
achieve perception is illustrated by a system built at the University
of Edinburgh [Barrow 1971] which can recognize a small set of
ordinary objects such as pencils, eye-glasses and teacups. Objects
are presented against a contrasting background. Segmentation is
achieved by partitioning the scene into regions of uniform
brightness. Objects are represented by relational graphs detailing
gross attributes (size, shape) of their principle regions and spatial
constraints between them. Interpretation is accomplished by
mapping the relational graph descriptions of known objects onto the
segmented regions obtained from the scene and seeking the best match.
Experience with early bottom-up systems of this type led to the
realization that the three basic processes of a perceptual system
were highly interdependent; one cannot proceed sequentially through
segmentation, representation and interpretation and expect to obtain
a globally consistent interpretation for all objects in a scene. One
problem is that no reliable basis exists for judging the global
significance of segmentation boundaries using local similarity
criteria. Segmentation must be guided by interpretation to choose
among many alternative partitionings, that which leads to a globally
consistent and reasonable description of the scene. A nice exposition
of these ideas is given by Minskey [1972].
BLOCKS WORLD
To avoid some of these difficulties, research concentrated initially
on scenes of toy blocks. Roberts' [1963] important work opened the
field []. Objects were represented as built up of three primitive
parts, a block, a wedge, and a hexagonal prism. The program assumed
it would first obtain perfect line drawings. Interpretation meant
choosing a stored three-dimensional model which after translation,
rotation and scaling could be projected to match part of the image.
The recognized piece was then cut away and the remainder considered.
Primitives were represented by their vertices in three dimensions. To
decide on likely image points which belonged to a single body, the
program attempted to identify unobscured polygons, then match sets of
vertices to topologically similar model vertices. Line drawings were
formed by a sequence of local operations. Candidate edge points were
considered by thresholding the gradient of intensity. Isolated edge
points were discarded. Connected line fragments were concatenated
into lines which were segmented at corners by a sequential least
squares line fit. Merging of colinear lines bridged some gaps.
That system organization has proven inadequate. It is not enough to
use models and template matching. Producing perfect line drawings is
not practical: some lines are missed; shadows, reflections and
surface markings cause extra lines; errors made at one stage are
compounded by later stages. These deficiencies motivated subsequent
research.
Guzman [1968] found it possible to segment complex scenes into
objects without template matching, by observing that some vertices
give local evidence that adjacent regions belong to the same body. In
figure 1, vertices A,B,C,E,G and H give evidence that adjacent
regions belong to the same body, while vertex F does not. Vertex D
which resembles G gives misleading evidence. To avoid such
coincidences, the program required confirmation. Regions linked
twice were joined into clusters; regions linked twice to a cluster
were also joined. Regions linked only to a single cluster were also
joined to that cluster. Eventually, the program evolved to include
inhibitions against certain links by requiring similar conditions at
both ends of a line. Other links were introduced without much
motivation.
This program was an important advance. Bodies could be segmented
without recognition and without explicit models. The program did
surprisingly well, but had problems with holes and other
non-convexities, and with accidental alignment. being told the
background. Guzman also could not cope well with imperfect line
drawings. His program would fail figure 2 because a missing line
makes region R3 common to both the block and wedge. Falk [1972] was
able to avoid some of the errors associated with missing boundaries
by using a Guzman like approach to link line segments likely to
belong to the same object instead of regions.
The limited generality of both these programs was due to the fact
that they were implemented as a collection of adhoc heuristics for
segmentation with no explicit understanding of line drawings. Thus,
while Falk himself realized that regions like R3 were non-planer and
could not arise in a scene containing only trihedral solids, his
program could not reason at this level. Huffman [1971] and Clowes
[1971] made theoretical analyses of objects with only trihedral
vertices (three planes at each vertex). By classifying edges at each
vertex as convex, concave and obscuring, they could reject some
drawings as impossible if a given line was not consistently labeled
at each end. Waltz [1972] expanded that labelling of lines to include
cracks and whether adjacent regions were shadowed or illuminated.
Since each vertex could have many interpretations. it would seem that
a search for consistent labelings would be unmanageable. Instead,
the increased precision of descriptions allows rapid discarding of
wrong interpretations. Not only are solutions possible, they are
quickly obtained. Instead of a complete tree search, it was adequate
to consider vertices in sequence, eliminating inconsistent
interpretations as each new vertex was added. This produced all
possible interpretations of a scene. However, some evaluations were
possible to choose reasonable interpretations, in cases with
ambiguous interpretations. A detailed survey of the work through
Huffman appears in a recent text by Duda and Hart [1972].
The best performance in extracting line drawings from television
images of polyhedra is given by the Shirai [1972b] and the
Binford-Horn [Horn 1971] line finders. Shirai's system performs
better, but requires large contrast between objects and background
(e.g., white on black), and finds only features and objects for which
cues are available from context. The Binford-Horn system is able
to find most lines in a scene of white blocks on a white background
in arbitrary lighting. It misses a few lines which can usually be
inferred from those that were found, and garbles some vertices.
The two are complementary and should be combined.
The two programs are based on different principles. Shirai's program
first found the outer boundaries of an object or cluster of objects.
It then tried to guess additional lines which were parallel,
perpendicular or extensions to lines already found. Search for
missing lines concentrated around vertices in the preliminary drawing
where they would be most likely found. The use of context involved
not changing thresholds, but using special-purpose operators: verify
a line at known position and angle; find a line through a vertex.
Figure 3 illustrates the complexity of scenes handled by Shirai's
program. The Binford-Horn system was intended to provide the base for
a system such as Shirai's by providing a partial line drawing without
special assumptions about the scene. It used a local directional
edge operator and an optimal sequential decision process to group the
edge points into continuous curves.
It is interesting to compare these systems with biological ones. The
directional edge operators which are scanned over the image are
analogous to the edge detector cells discovered by Heubel and
Wiesel[1968] in higher animals. In practice, large brightness
gradients at reflections and on curved surfaces cause masses of
spurious edge fragments. Smooth gradients are eliminated by
subtracting the local average at each point, a process similar to
lateral inhibition in the retina of animals.
REAL WORLD VISION
The blocks world illustrates many basic aspects of machine
perception. However, since many critical problems encountered in
perceiving real world scenes do not arise, few of the techniques
developed extend to this domain. For example:
1. Important problems in segmentation were avoided by using uniformly
painted blocks. Moreover, all boundaries were straight lines. The
region-growing and edge-finding techniques developed in this context
cannot cope with the textures and variations of brightness that
predominate in the real world.
2. The precise topological descriptions that characterized simple
polyhedra are inappropriate or unobtainable for complex real world
objects such as trees.
3. Interpretation by exhaustively matching all known prototypes
against each segmented body is not feasible with large numbers of
objects and cluttered scenes.
Description of simple polyhedral scenes was difficult enough; with
these added obstacles, is there hope for success in perceiving the
real world? Perception in the blocks world sought a complete
description of everything present. It may not be possible (or even
meaningful) to obtain exhaustive descriptions of real scenes.
However, complete descriptions are seldom needed; a system is
typically concerned with only a few objects required to complete a
specific task.
For blocks, we restricted our programs to black and white images and
distinguished structures of blocks solely on the basis of shape. In
the real world, there is a tremendous redundancy of visual cues. We
can use color, texture, depth, size, and surface orientation, as well
as shape, whichever distinguishes a particular object most
effectively.
Real world objects are usually found in well defined contexts; e.g.,
telephones are expected on tables but not in waste baskets.
Recognition of a few prominent landmarks, combined with a priori
knowledge of the environment can thus severely restrict what objects
may be present in each part of the scene. While these objects may be
difficult to describe, there will usually be sufficient cues
available to discriminate easily amongst the alternatives. Often,
very gross descriptions of complex attributes like shape will suffice
to discriminate amongst a limited number of grossly different
alternatives (e.g., a person can be distinguished from a dog simply
by the predominantly vertical orientation of a human body).
Real world vision can be viewed as a strategy problem: Given a task,
first decide where to look for objects of interest and then decide
how to distinguish them from other objects that might also be
present. The system must limit interpretations to a small subset of
possible objects, selected on the basis of a priori expectations and
crude descriptions of the scene. Segmentation can be based on
attributes which are known to be uniform over these objects. The key
problems of information overload are overcome by tightly coordinating
segmentation and interpretation with world knowledge and task goals.
The overload cannot be solved by merely building faster computers and
bigger memories; hardware improvements will aid adequate techniques
but do little for exhaustive techniques.
The principle work to date on real world vision has concentrated on
segmentation and representation. Segmentation of textured scenes has
been studies as a two-dimensional problem for agricultural and earth
resource survey applications. Bajcsy [1972] has analyzed outdoor
scenes with perspective, where three-dimensional texture descriptions
are important. Textures were described hierarchically in terms
of simpler texture elements and their spatial relationships.
Descriptors for texture elements and relations were derived from
Fourier analysis. Typical attributes were directionality (if any),
size, contrast, and spacing of texture elements. The Fourier
transform was found troublesome,however, and color descriptors were
added to improve performance. Some depth relations could be observed
from texture gradient. An attempt was made to obtain consistent
interpretations by first confirming region boundaries by independent
properties, making three-dimensional interpretations, and matching
region descriptors with those of sky, trees, grass, etc. in a world
model.
The quality of interpretation was limited by unreliability of
region-growing processes. Further work in outdoor scenes attempts to
incorporate the world model and interpretation into the region
growing process. Regions are merged not only because of similarity of
properties, but because the consistency of semantic interpretation is
improved.
Typical robot tasks such as manipulation, collision avoidance,
display and recognition were analyzed to determine computational
primitives required for descriptions of shape. Although some would
disagree, our criteria for shape representation are [Binford 1971]:
a) Representations should be symbolic at a high level in order to
interface with knowledge of the problem domain.
b) Representations should depend on segmentation into parts, which
may have subparts.
c) Primitives should be three-dimensional volume descriptions, rather
than surface descriptions to allow a natural choice of parts.
d) Descriptions should be generative. A modest collection of
primitives should allow description of a vast set of objects.
We will outline one representation that fulfils these desiderata for
a large class of curved objects. Objects are described in terms of
components which are simple to describe, and the relationships of
these parts. A useful shape primitive for many curved objects is an
arbitrary space curve, and normal cross-sections along this axis
(figure 4). Snake-like objects, helices, toroids, and locally
helical and toroidal shapes are naturally described [Binford 71]. Our
basic definition of a simple piece is that the direction of its axis
be continuous and that the cross-section function along that axis be
continuous. We look for large changes in the cross- section, and
consider them as likely places for segmenting the object. The
segmentation process must be flexible and able to generate alternate
propositions. A higher level routine will ultimately select from
the alternatives. Figure 5 shows an experimentally obtained
computer description of a doll [Agin 72].
INDUSTRIAL APPLICATIONS
Recently, several laboratories have begun to apply techniques from
perception research to practical industrial tasks. Stanford
University has demonstrated simple assembly operations using vision
and touch. General Motors laboratories has succeeded in mounting a
wheel on an axle. Stanford Research Institute and Hitachi Ltd. have
each demonstrated systems which can distinguish sheet metal parts on
a moving conveyor belt and determine their orientation to enable
manipulation. Template matching techniques were used to take
advantage of the two dimensional nature of these tasks. Moreover, the
conveyor demonstrations relied on the contrast between shiny metalic
parts and the black belt to simplify segmentation. Many industrial
processes share similar constraints or can be readily redesigned to
do so. We thus expect a proliferation of industrial applications of
computer perception in the near future.